namespace study03 {



    //1、
    // interface Product {
    //     readonly id: number
    //     name: string
    //     price: number
    //     description?: string
    // }
    // let product1: Product = {
    //     id: 1,
    //     name: 'asd',
    //     price: 12,
    //     description: ''
    // }

    // 2
    // type Add = (num: number, num2: number) => number


    // const fn: Add = (x, y) => {
    //     return x + y
    // }
    // fn(5, 5)



    // 3

    // const fn1 = (age?: string | undefined) => {
    //     return age
    // }
    // fn1('张三')
    // type Greet = (name?: string | undefined) => string | undefined

    // const greet: Greet = (name?: string | undefined) => {
    //     return name
    // }



    // // 4
    type CreateUser = {
        name: string;
        age: number;
    }
    function createUser(user: CreateUser): CreateUser {
        return user
    }

    // 使用示例
    const userInfo: CreateUser = {
        name: "Alice",
        age: 30
    };
    console.log(createUser(userInfo)); // { name: 'Alice', age: 30 }

}